home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / libelfutil / _leb128_unsigned_decode64.z / _leb128_unsigned_decode64
Text File  |  1998-10-30  |  7KB  |  133 lines

  1.  
  2.  
  3.  
  4. ____LLLLEEEEBBBB111122228888____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____DDDDEEEECCCCOOOODDDDEEEE66664444((((3333EEEE))))                    ____LLLLEEEEBBBB111122228888____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____DDDDEEEECCCCOOOODDDDEEEE66664444((((3333EEEE))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ______llll_eeee_bbbb_1111_2222_8888______uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_6666_4444: ______llll_eeee_bbbb_1111_2222_8888______ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_6666_4444:
  10.      ______llll_eeee_bbbb_1111_2222_8888______uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_3333_2222: ______llll_eeee_bbbb_1111_2222_8888______ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_3333_2222 - decode leb128
  11.      integers
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_mmmm_pppp_llll_rrrr_ssss_////_llll_eeee_bbbb_1111_2222_8888_...._hhhh_>>>>
  15.  
  16.      _iiii_nnnn_tttt ______llll_eeee_bbbb_1111_2222_8888______uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_6666_4444_((((_cccc_hhhh_aaaa_rrrr_**** _dddd_aaaa_tttt_aaaa_,,,, ___________uuuu_iiii_nnnn_tttt_6666_4444______tttt_**** _vvvv_aaaa_llll_uuuu_eeee_))))_;;;;
  17.  
  18.      _iiii_nnnn_tttt ______llll_eeee_bbbb_1111_2222_8888______ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_6666_4444_((((_cccc_hhhh_aaaa_rrrr_**** _dddd_aaaa_tttt_aaaa_,,,, ___________iiii_nnnn_tttt_6666_4444______tttt_**** _vvvv_aaaa_llll_uuuu_eeee_))))_;;;;
  19.  
  20.      _iiii_nnnn_tttt ______llll_eeee_bbbb_1111_2222_8888______uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_3333_2222_((((_cccc_hhhh_aaaa_rrrr_**** _dddd_aaaa_tttt_aaaa_,,,, ___________uuuu_iiii_nnnn_tttt_3333_2222______tttt_**** _vvvv_aaaa_llll_uuuu_eeee_))))_;;;;
  21.  
  22.      _iiii_nnnn_tttt ______llll_eeee_bbbb_1111_2222_8888______ssss_iiii_gggg_nnnn_eeee_dddd______dddd_eeee_cccc_oooo_dddd_eeee_3333_2222_((((_cccc_hhhh_aaaa_rrrr_**** _dddd_aaaa_tttt_aaaa_,,,, ___________iiii_nnnn_tttt_3333_2222______tttt_**** _vvvv_aaaa_llll_uuuu_eeee_))))_;;;;
  23.  
  24. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  25.      These routines decode leb128 numbers into the integers they encode.  The
  26.      leb128 format is a variable-length encoding extensively used in the DWARF
  27.      debugging information format and is described in the DWARF documentation.
  28.  
  29.      The caller must know if the leb128 number data in hand is 32 or 64 bit
  30.      and if it is signed or unsigned: nothing in the leb128 format makes it
  31.      possible to determine this from the input _d_a_t_a itself.
  32.  
  33.      If a _d_a_t_a points to a number which fits in 32 bits either the 32bit or
  34.      64bit decoding routine may be called: the correct value is returned
  35.      through the _v_a_l_u_e pointer.  If _d_a_t_a points at a number too large to fit
  36.      in 32 bits both the returned-value *and* the number of bytes returned by
  37.      either of the 32-bit functions will be incorrect.
  38.  
  39.      The decoded number is placed into _d_a_t_a and the number of bytes of _d_a_t_a
  40.      which held the number is returned.
  41.  
  42.      Link with the option -lelfutil to link in these routines.
  43.  
  44.      The arguments are as follows:
  45.  
  46.      _d_a_t_a is a pointer to the input number to be converted from leb128 format
  47.           into an integer.
  48.  
  49.      _v_a_l_u_e
  50.           is a pointer to properly aligned space (provided by the caller) to
  51.           which the called routine writes the decoded integer value.
  52.  
  53. FFFFIIIILLLLEEEESSSS
  54.      /usr/include/cmplrs/leb128.h
  55.      /usr/lib/libelfutil.a
  56.      /usr/lib32/libelfutil.a
  57.      /usr/lib64/libelfutil.a
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____LLLLEEEEBBBB111122228888____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____DDDDEEEECCCCOOOODDDDEEEE66664444((((3333EEEE))))                    ____LLLLEEEEBBBB111122228888____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____DDDDEEEECCCCOOOODDDDEEEE66664444((((3333EEEE))))
  71.  
  72.  
  73.  
  74. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  75.      Returns the number of bytes found and used in decoding the number.  The
  76.      returned value will be in the range 1 to 5 for the 32-bit number input
  77.      versions.  The returned value will be in the range 1 to 10 for the 64-bit
  78.      number input versions.
  79.  
  80.      If a number is erroneously encoded for the call (if the decoded value
  81.      will not fit in the provided _v_a_l_u_e pointed to) there is no error
  82.      indication: instead a value is returned and the length returned is 5 (for
  83.      the 32bit versions) or 10 (for the 64bit versions).
  84.  
  85. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  86.      libelfutil(5), xlate(4), _leb128_unsigned_encode64,
  87.      _leb128_unsigned_encode32, _leb128_signed_encode64,
  88.      _leb128_signed_encode32, DWARF Debugging Information Format , A Consumer
  89.      Library Interface to DWARF
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.